1. Field of the Invention
The present invention relates to a system and method for producing data replica for the purpose of measuring extinguishment of data stored in a storage of a computer system using a database.
2. Description of the Related Art
Conventionally, a computer system is proposed which includes one or more application servers and database servers, and refers to and updates data on a database server based on a process of an application program running on an application server. In such a computer system, it is important to produce a replica of the data in order to measure extinguishment of the data stored in the database server. Such a computer system is described in a conventional example 1 (Japanese Laid Open Patent Publication (JP-P2005-165610A)), a conventional example 2 (“Extension of Java API for Synchronous Copy of Database”, by Fujiyama et al. (Information Processing Society of Japan, the 67th national convention, 1K-5, 2005)), and a conventional example 3 (“Data Synchronous Copy System Between Different DBs By Extension of DB Connection API”, by Fujiyama et al., (FIT2005 the 4th Information Science and Technology Forum, C-031, 2005)).
Referring to FIG. 1, the conventional data copy system in the conventional examples 2 and 3 includes an application server 1300 which provides service, a primary database server 1100 which supplies data to the application server 1300, and a backup database server 1200 which is a replica of the primary database server 1100. The primary database server 1100 is composed of a storage 1120 which stores data, and a database management system (hereinafter, to be also referred to as a “DBMS”) 1110 which manages data in the storage 1120. The backup database server 1200 is composed of a storage 1220 which stores data and a database management system 1210 which manages data in the storage 1220.
The application server 1300 is composed of an application program 1310 which issues a data processing request to the database management system and a middle ware 1320 which provides a common function to a plurality of application programs. In this case, the middle ware 1320 is composed of a database (DB) connecting section 1321, a database (DB) connecting section 1322 and a multiplexing section 1323. Each of the database connecting section 1321 and the database connecting section 1322 converts a data processing request issued from the application program 1310 into a data processing request peculiar to the database management system 1110 or database management system 1210, and converts a data processing response peculiar to the database management system 1110 or database management system 1210 into a response to the application program 1310, and the multiplexing section 1323 multiplexes each of the data processing requests before the conversion. Generally, JDBC (Java (registered trade mark) DataBase Connectivity) is used for an interface of the database connecting sections 1321 and 1322 with the application program 1310. On the other hand, an interface peculiar to the database management system is used for an interface of the database connecting section 1321 or 1322 with the database management system 1110 or 1210. The multiplexing section 1323 is recognized as a database connecting section from application program 1310 and as an application program from the database connecting section, because it has a standard interface. That is, the multiplexing section 1323 is transparent from the other components.
The conventional data replica producing system having such a configuration operates as follows.
When the application program 1310 requests data processing to the database management system 1110, the application program 1310 issues a standard data processing request, which is based on a standard interface of the database connecting section 1321, through the middle ware 1320. In the middle ware 1320 which receives the standard data processing request, the multiplexing section 1323 multiplexes the data processing request and sends the multiplexed data processing request to the database connecting section 1321 and the database connecting section 1322. The database connecting section 1321 converts the request into a data processing request peculiar to the primary database management system 1110, and the database connecting section 1322 converts the request into a data processing request peculiar to the backup database management system 1210. The sections 1321 and 1322 send the data processing requests to the database management systems. The primary database management system 1110 and the backup database management system 1210 receive logically same data processing requests, and carry out the same data processing. As a result, because data in the primary storage 1120 and data in the backup storage 1220 are similarly processed, the data of the primary storage 1120 and the data of the backup storage 1220 are the same data. That is, the effect is accomplished that the data of the primary storage 1120 is copied on the backup storage 1220.
In the above-mentioned data replica producing system, the multiplexing section 1323 is transparent from the application program 1310 and database connecting sections 1321 and 1322, and moreover, from the database management systems 1110 and 1210. Therefore, the data replica producing system can be configured by adding the multiplexing section 1323, the database connecting section 1322 and the backup database server 1200 to the existing computer system which is composed only of the application server 1300 and the primary database server 1100, without changing the other components.
Also, the multiplexing section 1323 multiplexes each of the data processing requests in the standard form between the application program 1310 and the database connecting section 1321 before the conversion into the request peculiar to the database management systems. Therefore, it is possible to generally apply the multiplexing section 1323 without depending on kinds of the application program 1310 and the database management system 1110.
Further, even if one of the database servers fails down, it is possible to continue to provide service without stop, because the other database server can supply the data to the application program 1310.
However, there is a problem to fail in production of a data replica in the above-mentioned conventional data replica producing system, when two or more connections to the database management system are present, e.g., two ore more application servers are connected with the database management system.
The above-mentioned conventional data replica producing system realizes data replica by carrying out same data processing in the primary database management system and the backup database management system. Therefore, the order of the data processing requests is same between to the primary database management system and the backup database management system. In case of single connection, the order of a plurality of data processing requests does not change in the connection. However, in case that a plurality of application servers are connected with the database management system, there is no guarantee that the order of the data processing requests issued from the application programs to the database management system, i.e., the timing of arrival to the database management system is the same between to the primary database management system and the backup database management system, when a network delay and so on have occurred, because the connections from the application servers does not have any relation. For example, in case of FIG. 2, a data processing request 1-2 is received by the primary database management system 2110 after a data processing request 1-1 is received. However, a data processing request 2-1 is received by the backup database management system 2210 from another connection before the data processing request 1-2 is received after the data processing request 1-1 is received. In this way, if the order of the data processing requests is different, the contents of the data processing are different, too. As a result, the discrepancy of the data occurs.
Generally, there is a case that the coincidence of the order of receiving and processing operations by a plurality of reception nodes to messages from a plurality of transmission nodes issues should be guaranteed. In such a case, a sequence number is allocated to each message and the message is processed based on the sequence number, as described in Japanese Laid Open Patent Application (JP-A-Showa 60-237551). In order to apply this to the data replica producing system shown in FIG. 1, it is sufficient that a sequence number is added to each of the data processing requests sent from the database connecting sections 1321 and 1322 to the database management systems 1110 and 1210, and the database management systems 1110 and 1210 carry out data processing requests in an order of the sequence numbers.
However, the interfaces between the database management systems 1110 and 1210 and the database connecting sections 1321 and 1322 are peculiar to the database management systems, and the used protocol is dependent on the database management system. Therefore, it is necessary to modify the protocol dependent on the database management system in order to add a sequence number to each of the data processing requests sent from the database connecting sections 1321 and 1322 to the database management systems 1110 and 1210. Therefore, because the database management system itself must be modified, it is difficult to accomplishing the effect by only addition to the existing database management system. Also, even if it is applicable, the modification is ad hook peculiar to the database management system, and it is difficult to generally apply to any types of database management system.
In conjunction with the above description, a conventional replication system is described in Japanese Laid Open Patent Application (JP-P2002-108681A). In this conventional example, a replica table is generated from a plurality of master tables by operation data of addition, update, and deletion in the plurality of master tables based on a data base. Replication is carried out by matching and combining data of the plurality of master tables, using specific data in the master tables as a combination key. Thus, a replica table is generated.
Also, a remote data copy method between disk array apparatuses is described in Japanese Laid Open Patent Application (JP-P2003-167684A). In this conventional example, a system is configured in which a primary disk array apparatus and a secondary disk array apparatus are connected through a communication line. In the primary disk array apparatus, an I/O process section writes an update data in a cache in response to a write request of the update data from a host apparatus. A group registering section registers groups of logical disks to guarantee the consistence of data. A plurality of storage buffers are provided for every group of the logical disk. A concentrator packs and copies the update data written in the cache from the head area of the storage buffer in a reception state in synchronization with the write request of the update data from the host apparatus in order. When the update data are packed in the storage buffer, the concentrator sends the packing data to the secondary disk array apparatus. A distributor reads out the update data in a packing order from the packing data received by the secondary disk array apparatus to copy into the cache.
Also, a storage remote copy method is described in Japanese Laid Open Patent Application (JP-P2005-267216A). In this conventional example, a first node has a first storage connected with a first computer, and a second storage connected with a second computer. The second node has a third storage. When the first computer carries out a first write to the first storage, the first storage adds an order guarantee data to the first write and sends them to the third storage. When the second computer carries out a second write to the second storage, after the order guarantee data is acquired from the first storage, the second storage adds the order guarantee data to the second write and sends them to the third storage. The third storage carries out the first and second write in a memory area of the third storage in time order based on the order guarantee data.
Also, an information processing system is described in Japanese Laid Open Patent Application (JP-P2003-108423A). In this conventional example, the information processing system includes an information service server and a plurality of client units connected with the information service server. In the client unit, an access section requests access to the information service server and is set to an accessible state after permission is given. A monitor section monitors the operation of the access section. The information service server has a memory unit for storing data. A lock control section, when being not in a lock state, gives access permission to a predetermined client unit which has issued the access request first among the client units and sets the lock state. The lock control section releases the lock state into an unlock state when it is detected from the data from the monitor section that an access end operation from the above client unit is detected or that it is impossible to normally carry out the access end operation.
Also, a message re-transmitting method is described in Japanese Laid Open Patent Application (JP-A-Heisei 7-162517). In this conventional example, a first apparatus includes an application section which has an application program to carry out a process in a second apparatus at least and generates a process request message to the second apparatus according to necessity, and an application manager section which sends the process request message from the application section to the second apparatus. At least one second apparatus includes a message processing section which determines the process request message from the first apparatus and generates and sends a response message to the application manager section, and carries out a necessary process. When a response message is given from the message processing section of the first apparatus, the application manager section determines the content of the response message, re-transmits the process request message having the same content as the process request message to the first apparatus. The application manager section also notifies the response message to the application section according to necessity.
Also, an EDI format converting method is described in Japanese Laid Open Patent Application (JP-A-Heisei 6-19756). In this conventional example, a user peculiar data is read out from a user peculiar database. The use peculiar data is developed on a first table similar to a relational database to have a table structure. A column corresponding to an item of an EDI standard data is extracted and mapped onto a second table from the table structure of the first table in accordance with a predetermined condition. A row data of the table structure held in the second table is transmitted as the EDI standard data after the format conversion.